# 定义编译器和编译选项
CC = g++
CFLAGS = -Wall -std=c++14

# 服务端目标文件名
SERVERTARGET = server

#客户端目标文件名
CLIENTTARGET = client

# 服务端源文件列表
SERVERSOURCES = server.cpp data_segment.cpp packet_statistics.cpp sliding_window.cpp udp_server.cpp

# 服务端头文件列表
SERVERHEADERS = data_segment.h packet_statistics.h sliding_window.h udp_server.h

#客户端源文件列表
CLIENTSOURCES = client.cpp data_segment.cpp udp_client.cpp

#客户端头文件列表
CLIENTHEADERS = data_segment.h udp_client.h

# 默认目标
all: $(SERVERTARGET) $(CLIENTTARGET)

# 链接目标
$(SERVERTARGET): $(SERVERSOURCES) $(SERVERHEADERS)
	$(CC) $(CFLAGS) -o $(SERVERTARGET) $(SERVERSOURCES)

# 链接目标
$(CLIENTTARGET): $(CLIENTSOURCES) $(CLIENTHEADERS)
	$(CC) $(CFLAGS) -o $(CLIENTTARGET) $(CLIENTSOURCES)

# 清理目标
clean:
	rm -f $(SERVERTARGET) $(CLIENTTARGET)
